package com.igeek.compus.test.order.controller;

import com.igeek.compus.test.order.entity.Order;
import com.igeek.compus.test.order.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("order")
public class OrderController {

    @Autowired
    private OrderService orderService;

    @RequestMapping("list.do")
    @ResponseBody
    public Map list(Order order) {

        System.out.println(order);

        Map<String, Object> result = new HashMap<>();

        try {
            // 业务代码，菜单信息查询
            List<Order> orderList = orderService.getOrderList(order);

            result.put("data", orderList);
            result.put("count", orderList.size());

            result.put("code", 0);
            result.put("msg", "查询成功");
        }catch (Exception e) {
            e.printStackTrace();
            result.put("code", 1);
            result.put("msg", "系统异常");
        }
        return result;
    }

//    /**
//     * ModelAndView 既能返回view视图，也能返回数据，可以使用el表达式，也可以使用c标签
//     * @return
//     */
//    @RequestMapping("index.do")
//    public ModelAndView index(Order order) {
//        List<Order> orderList = orderService.getOrderList(order);
//        for(Order o: orderList) {
//            System.out.println(o);
//        }
//        return new ModelAndView("/login");
//    }
//
//    /**
//     * 仅跳转页面，不返回数据有两种方式
//     * 1.new ModelAndView对象不放数据
//     * 2.直接返回string
//     * @return
//     */
//    @RequestMapping("index2.do")
//    public String index2() {
//        return "/login";
//    }
//
//    /**
//     * 仅返回数据，适用于ajax，ajax根据收到的响应参数判断是否跳转，在前端做页面跳转，window.location.href = ""
//     * @return
//     */
//    @RequestMapping("index3.do")
//    // 返回数据，可以返回map对象，也可以返回json对象
//    @ResponseBody
//    public Map index3(Order order) {
//        Map<String, Object> map = new HashMap<>();
//        List<Order> orderList = orderService.getOrderList(order);
//        map.put("retCode", "200");
//        map.put("retMsg", "查询成功");
//        map.put("data", orderList);
//        return map;
//    }

}
